package com.qimu.saiyou.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qimu.saiyou.model.dto.compete.CompeteQueryRequest;
import com.qimu.saiyou.model.entity.Compete;
import com.qimu.saiyou.model.entity.User;
import com.qimu.saiyou.model.vo.CompeteUserVo;
import com.qimu.saiyou.model.vo.CompeteVo;

import javax.servlet.http.HttpServletRequest;

/**
 * @author: FeiXiang
 * @description 针对表【compete(竞赛)】的数据库操作Service
 * @createDate 2024-02-26 19:55:51
 */
public interface CompeteService extends IService<Compete> {

    Page<CompeteVo> listCompeteVoByCompetitionId(CompeteQueryRequest competeQueryRequest, HttpServletRequest request);

    CompeteVo getCompeteVo(Compete compete);

    CompeteUserVo getCompeteUserVo(Long userId,Long competeId);

    Page<CompeteVo> listCompeteVoByTeamId(CompeteQueryRequest competeQueryRequest, HttpServletRequest request);

    Page<CompeteVo> listMyCompeteVoPage(User loginUser);

    CompeteVo listCompeteVoById(CompeteQueryRequest competeQueryRequest, HttpServletRequest request);
}
